import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    id:window
    visible: true
    width: 640
    height: 480
    title: qsTr("QML绑定C++的信号并展示C++的数据")

    property  bool flag: false
    Image {
        id: img
        anchors.fill: parent
        source: "image://img/#ffffff"
    }

    Text{
        id:dtText
        anchors.centerIn: parent
        text: "DateTime"
    }

    //在 QML 中，定义一个 Connections 对象
    //连接C++对象的信号，currentTimeChanged
    //注意！！！ 并非所有的 C++ 函数都可以从 QML 调用，除了 Q_INVOKABLE() 标记的 public 函数之外，还可以是 public 槽函数。
    Connections {
        target: cppData
        onCurrentTimeChanged: {
            window.flag = !window.flag
            dtText.text = cppData.currentDateTime()
            img.source =  window.flag ? "image://img/#b3e6ff" :  "image://img/#cceeff"
            console.log("The application data changed!")
        }
    }

}
